package cn.iocoder.yudao.module.system.service.exam;

import cn.iocoder.yudao.module.system.controller.admin.exam.vo.*;
import java.util.List;

/**
 * 测评系统 Service 接口
 *
 * @author 芋道源码
 */
public interface ExamTestService {

    /**
     * 获取测评题列表
     *
     * @param tbl 测评类型标记值
     * @return 题目列表
     */
    List<ExamTestQuestionVO> getTestQuestions(String tbl);

    /**
     * 获取测评相关信息
     *
     * @param tbl 测评类型标记值
     * @return 测评信息
     */
    ExamTestInfoVO getTestInfo(String tbl);

    /**
     * 获取测评结果报告
     *
     * @param tbl 测评类型标记值
     * @param reportType 报告类型
     * @param answer 答案字符串
     * @param isAllAnswer 是否提交所有题目的答案
     * @return 测评报告
     */
    ExamTestReportVO getTestReport(String tbl, String reportType, String answer, String isAllAnswer);

    /**
     * 提交答案并获取报告
     *
     * @param submitReqVO 提交的答案
     * @return 测评报告
     */
    ExamTestReportVO submitAnswers(ExamAnswerSubmitReqVO submitReqVO);

}
